package com.cy.zs.hp.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 该表为患者表，当患者预约挂号时使用此表
 * </p>
 *
 * @author cgb2008
 * @since 2020-11-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("his_patient")
public class HisPatient implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 患者id
     */
    @TableId(type= IdType.AUTO)
    private Integer id;

    /**
     * 患者姓名
     */
    @TableField("name")
    @NotNull(message ="预约失败！姓名不能为空")
    private String name;

    /**
     * 患者电话号码
     */
    @TableField("phone")
    @Size(min = 11,max = 11, message = "预约失败！请输入合法的电话号码！")
    private String phone;

    /**
     * 患者性别
     */
    @TableField("garden")
    @NotNull(message ="预约失败！性别不能为空")
    private String garden;

    /**
     * 患者身份证号码
     */
    @TableField("id_card")
    @NotNull(message ="预约失败！身份证号码不能为空")
    @Size(min = 18,max = 18, message = "预约失败！请输入合法的身份证号码！")
    private String idCard;

    /**
     * 患者出生日期
     */
    @TableField("birthday")
    @NotNull(message ="预约失败！出生日期不能为空不能为空")
    private String birthday;

    /**
     * 地址
     */
    @TableField("address")
    @NotNull(message ="预约失败！家庭住址不能为空")
    private String address;

    /**
     * 患者表创建时间
     */
    @TableField("create_datetime")
    private LocalDateTime createDatetime;

    /**
     * 患者状态（用0和1表示后期扩展用目前不考虑）
     */
    @TableField("patient_status")
    private Integer patientStatus;


}
